package io.gitee.hchaojie.day05;

public class MathUtil {
//    public static int max(int... args) {
//        if (args.length == 0) {
//            throw new RuntimeException("没有参数。。。");
//        }
//
//        int max = args[0];
//
//        for (int i = 1; i < args.length; i++) {
//            if (args[i] > max) {
//                max = args[i];
//            }
//        }
//
//        return max;
//    }

    // 方法上面的泛型

    // 参数可以时泛型，但是必须实现Comparable接口
    public static<T extends Comparable> T max(T... args) {
        if (args.length == 0) {
            throw new RuntimeException("没有参数。。。");
        }

        T max = args[0];

        for (int i = 1; i < args.length; i++) {
            T element = args[i];

            if (max.compareTo(element) < 0) {
                max = element;
            }
        }

        return max;
    }
}
